<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/Tucson.Geocaching.WCF.API.Geocaching.Types" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Tucson.Geocaching.WCF.API.Geocaching.Types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="https://staging.api.groundspeak.com/Live/V6Beta/geocaching.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import schemaLocation="https://staging.api.groundspeak.com/Live/V6Beta/geocaching.svc?xsd=xsd2" namespace="http://www.geocaching.com/Geocaching.Live/data" />
  <xs:import schemaLocation="https://staging.api.groundspeak.com/Live/V6Beta/geocaching.svc?xsd=xsd7" namespace="http://schemas.datacontract.org/2004/07/Tucson.Geocaching.WCF.API.Utilities" />
  <xs:import schemaLocation="https://staging.api.groundspeak.com/Live/V6Beta/geocaching.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="https://staging.api.groundspeak.com/Live/V6Beta/geocaching.svc?xsd=xsd8" namespace="http://www.geocaching.com/Challenges.Live/data" />
  <xs:import schemaLocation="https://staging.api.groundspeak.com/Live/V6Beta/geocaching.svc?xsd=xsd10" namespace="http://schemas.datacontract.org/2004/07/Souvenirs.Common.Model" />
  <xs:complexType name="ArrayOfGeocacheStatus">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="GeocacheStatus" nillable="true" type="tns:GeocacheStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGeocacheStatus" nillable="true" type="tns:ArrayOfGeocacheStatus" />
  <xs:complexType name="GeocacheStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="Archived" type="xs:boolean" />
      <xs:element minOccurs="0" name="Available" type="xs:boolean" />
      <xs:element minOccurs="0" name="CacheCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CacheName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CacheType" type="xs:long" />
      <xs:element minOccurs="0" name="Premium" type="xs:boolean" />
      <xs:element minOccurs="0" name="TrackableCount" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GeocacheStatus" nillable="true" type="tns:GeocacheStatus" />
  <xs:complexType name="ArrayOfMembershipType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MembershipType" nillable="true" type="tns:MembershipType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMembershipType" nillable="true" type="tns:ArrayOfMembershipType" />
  <xs:complexType name="MembershipType">
    <xs:sequence>
      <xs:element minOccurs="0" name="MemberTypeId" type="xs:long" />
      <xs:element minOccurs="0" name="MemberTypeName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MembershipType" nillable="true" type="tns:MembershipType" />
  <xs:complexType name="SiteStats">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountsLogged" type="xs:long" />
      <xs:element minOccurs="0" name="ActiveCaches" type="xs:long" />
      <xs:element minOccurs="0" name="ActiveCountries" type="xs:long" />
      <xs:element minOccurs="0" name="NewLogs" type="xs:long" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SiteStats" nillable="true" type="tns:SiteStats" />
  <xs:complexType name="ArrayOfImageData">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ImageData" nillable="true" type="tns:ImageData" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfImageData" nillable="true" type="tns:ArrayOfImageData" />
  <xs:complexType name="ImageData">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ImageGuid" type="ser:guid" />
      <xs:element minOccurs="0" name="MobileUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ThumbUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ImageData" nillable="true" type="tns:ImageData" />
  <xs:complexType name="ArrayOfWptLogType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="WptLogType" nillable="true" type="tns:WptLogType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfWptLogType" nillable="true" type="tns:ArrayOfWptLogType" />
  <xs:complexType name="WptLogType">
    <xs:sequence>
      <xs:element minOccurs="0" name="AdminActionable" type="xs:boolean" />
      <xs:element minOccurs="0" name="ImageName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ImageURL" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OwnerActionable" type="xs:boolean" />
      <xs:element minOccurs="0" name="WptLogTypeId" type="xs:long" />
      <xs:element minOccurs="0" name="WptLogTypeName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="WptLogType" nillable="true" type="tns:WptLogType" />
  <xs:complexType name="ArrayOfGeocacheType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="GeocacheType" nillable="true" type="tns:GeocacheType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGeocacheType" nillable="true" type="tns:ArrayOfGeocacheType" />
  <xs:complexType name="GeocacheType">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="GeocacheTypeId" type="xs:long" />
      <xs:element minOccurs="0" name="GeocacheTypeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ImageURL" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsContainer" type="xs:boolean" />
      <xs:element minOccurs="0" name="UserCount" nillable="true" type="xs:long" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GeocacheType" nillable="true" type="tns:GeocacheType" />
  <xs:complexType name="ArrayOfAttributeType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AttributeType" nillable="true" type="tns:AttributeType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAttributeType" nillable="true" type="tns:ArrayOfAttributeType" />
  <xs:complexType name="AttributeType">
    <xs:sequence>
      <xs:element minOccurs="0" name="CategoryID" type="xs:int" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HasNoOption" type="xs:boolean" />
      <xs:element minOccurs="0" name="HasYesOption" type="xs:boolean" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="IconName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NoIconName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NotChosenIconName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="YesIconName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AttributeType" nillable="true" type="tns:AttributeType" />
  <xs:complexType name="ArrayOfGeocache">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Geocache" nillable="true" type="tns:Geocache" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGeocache" nillable="true" type="tns:ArrayOfGeocache" />
  <xs:complexType name="Geocache">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountID" type="xs:int" />
      <xs:element xmlns:q1="http://www.geocaching.com/Geocaching.Live/data" minOccurs="0" name="AdditionalWaypoints" nillable="true" type="q1:ArrayOfAdditionalWaypoint" />
      <xs:element minOccurs="0" name="Archived" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Attributes" nillable="true" type="tns:ArrayOfAttribute" />
      <xs:element minOccurs="0" name="Available" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="CacheType" nillable="true" type="tns:GeocacheType" />
      <xs:element minOccurs="0" name="CanCacheBeFavorited" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ContainerType" nillable="true" type="tns:ContainerType" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CountryID" type="xs:int" />
      <xs:element minOccurs="0" name="CurrentDetailsCount" type="xs:int" />
      <xs:element minOccurs="0" name="DateCreated" type="xs:dateTime" />
      <xs:element minOccurs="0" name="DateLastUpdate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="DateLastVisited" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Difficulty" type="xs:double" />
      <xs:element minOccurs="0" name="EncodedHints" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FavoritePoints" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="GUID" type="ser:guid" />
      <xs:element minOccurs="0" name="GeocacheLogs" nillable="true" type="tns:ArrayOfGeocacheLog" />
      <xs:element minOccurs="0" name="GeocacheNote" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HasbeenFavoritedbyUser" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="HasbeenFoundbyUser" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ID" type="xs:long" />
      <xs:element minOccurs="0" name="ImageCount" type="xs:int" />
      <xs:element minOccurs="0" name="Images" nillable="true" type="tns:ArrayOfImageData" />
      <xs:element minOccurs="0" name="IsLocked" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPremium" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Latitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="LongDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LongDescriptionIsHtml" type="xs:boolean" />
      <xs:element minOccurs="0" name="Longitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="MaxDetailCount" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Owner" nillable="true" type="tns:Member" />
      <xs:element minOccurs="0" name="PlacedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PublishDateUtc" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ShortDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ShortDescriptionIsHtml" type="xs:boolean" />
      <xs:element minOccurs="0" name="State" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StateID" type="xs:int" />
      <xs:element minOccurs="0" name="Terrain" type="xs:double" />
      <xs:element minOccurs="0" name="TrackableCount" type="xs:int" />
      <xs:element minOccurs="0" name="Trackables" nillable="true" type="tns:ArrayOfTrackable" />
      <xs:element minOccurs="0" name="UTCPlaceDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UpgradeMessage" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserWaypoints" nillable="true" type="tns:ArrayOfUserWaypoint" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Geocache" nillable="true" type="tns:Geocache" />
  <xs:complexType name="ArrayOfAttribute">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Attribute" nillable="true" type="tns:Attribute" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAttribute" nillable="true" type="tns:ArrayOfAttribute" />
  <xs:complexType name="Attribute">
    <xs:sequence>
      <xs:element minOccurs="0" name="AttributeTypeID" type="xs:int" />
      <xs:element minOccurs="0" name="IsOn" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Attribute" nillable="true" type="tns:Attribute" />
  <xs:complexType name="ContainerType">
    <xs:sequence>
      <xs:element minOccurs="0" name="ContainerTypeId" type="xs:long" />
      <xs:element minOccurs="0" name="ContainerTypeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Order" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ContainerType" nillable="true" type="tns:ContainerType" />
  <xs:complexType name="ArrayOfGeocacheLog">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="GeocacheLog" nillable="true" type="tns:GeocacheLog" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGeocacheLog" nillable="true" type="tns:ArrayOfGeocacheLog" />
  <xs:complexType name="GeocacheLog">
    <xs:sequence>
      <xs:element minOccurs="0" name="CacheCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CannotDelete" type="xs:boolean" />
      <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Finder" nillable="true" type="tns:Member" />
      <xs:element minOccurs="0" name="Guid" type="ser:guid" />
      <xs:element minOccurs="0" name="ID" type="xs:long" />
      <xs:element minOccurs="0" name="Images" nillable="true" type="tns:ArrayOfImageData" />
      <xs:element minOccurs="0" name="IsApproved" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsArchived" type="xs:boolean" />
      <xs:element minOccurs="0" name="LogIsEncoded" type="xs:boolean" />
      <xs:element minOccurs="0" name="LogText" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LogType" nillable="true" type="tns:WptLogType" />
      <xs:element minOccurs="0" name="UTCCreateDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UpdatedLatitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="UpdatedLongitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VisitDate" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GeocacheLog" nillable="true" type="tns:GeocacheLog" />
  <xs:complexType name="Member">
    <xs:sequence>
      <xs:element minOccurs="0" name="AvatarUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FindCount" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="GalleryImageCount" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="HideCount" nillable="true" type="xs:int" />
      <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/Tucson.Geocaching.WCF.API.Utilities" minOccurs="0" name="HomeCoordinates" nillable="true" type="q2:LatLngPoint" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="IsAdmin" type="xs:boolean" />
      <xs:element minOccurs="0" name="MemberType" nillable="true" type="tns:MembershipType" />
      <xs:element minOccurs="0" name="PublicGuid" type="ser:guid" />
      <xs:element minOccurs="0" name="UserName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Member" nillable="true" type="tns:Member" />
  <xs:complexType name="ArrayOfTrackable">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Trackable" nillable="true" type="tns:Trackable" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTrackable" nillable="true" type="tns:ArrayOfTrackable" />
  <xs:complexType name="Trackable">
    <xs:sequence>
      <xs:element minOccurs="0" name="AllowedToBeCollected" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Archived" type="xs:boolean" />
      <xs:element minOccurs="0" name="BugTypeID" type="xs:long" />
      <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CurrentGeocacheCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CurrentGoal" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CurrentOwner" nillable="true" type="tns:Member" />
      <xs:element minOccurs="0" name="DateCreated" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IconUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Images" nillable="true" type="tns:ArrayOfImageData" />
      <xs:element minOccurs="0" name="InCollection" type="xs:boolean" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OriginalOwner" nillable="true" type="tns:Member" />
      <xs:element minOccurs="0" name="TBTypeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TBTypeNameSingular" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TrackableLogs" nillable="true" type="tns:ArrayOfTrackableLog" />
      <xs:element minOccurs="0" name="TrackingCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserCount" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="WptTypeID" type="xs:long" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Trackable" nillable="true" type="tns:Trackable" />
  <xs:complexType name="ArrayOfTrackableLog">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TrackableLog" nillable="true" type="tns:TrackableLog" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTrackableLog" nillable="true" type="tns:ArrayOfTrackableLog" />
  <xs:complexType name="TrackableLog">
    <xs:sequence>
      <xs:element minOccurs="0" name="CacheID" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="Images" nillable="true" type="tns:ArrayOfImageData" />
      <xs:element minOccurs="0" name="IsArchived" type="xs:boolean" />
      <xs:element minOccurs="0" name="LogGuid" type="ser:guid" />
      <xs:element minOccurs="0" name="LogIsEncoded" type="xs:boolean" />
      <xs:element minOccurs="0" name="LogText" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LogType" nillable="true" type="tns:WptLogType" />
      <xs:element minOccurs="0" name="LoggedBy" nillable="true" type="tns:Member" />
      <xs:element minOccurs="0" name="UTCCreateDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UpdatedLatitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="UpdatedLongitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VisitDate" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TrackableLog" nillable="true" type="tns:TrackableLog" />
  <xs:complexType name="ArrayOfUserWaypoint">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="UserWaypoint" nillable="true" type="tns:UserWaypoint" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUserWaypoint" nillable="true" type="tns:ArrayOfUserWaypoint" />
  <xs:complexType name="UserWaypoint">
    <xs:sequence>
      <xs:element minOccurs="0" name="CacheCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" type="xs:long" />
      <xs:element minOccurs="0" name="Latitude" type="xs:double" />
      <xs:element minOccurs="0" name="Longitude" type="xs:double" />
      <xs:element minOccurs="0" name="UTCDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UserID" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UserWaypoint" nillable="true" type="tns:UserWaypoint" />
  <xs:complexType name="ArrayOfTrackableTravel">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TrackableTravel" nillable="true" type="tns:TrackableTravel" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTrackableTravel" nillable="true" type="tns:ArrayOfTrackableTravel" />
  <xs:complexType name="TrackableTravel">
    <xs:sequence>
      <xs:element minOccurs="0" name="CacheID" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="DateLogged" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Latitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Longitude" nillable="true" type="xs:double" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TrackableTravel" nillable="true" type="tns:TrackableTravel" />
  <xs:complexType name="ArrayOfCacheNote">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CacheNote" nillable="true" type="tns:CacheNote" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCacheNote" nillable="true" type="tns:ArrayOfCacheNote" />
  <xs:complexType name="CacheNote">
    <xs:sequence>
      <xs:element minOccurs="0" name="CacheCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreatedByApplication" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Finder" nillable="true" type="tns:Member" />
      <xs:element minOccurs="0" name="ID" type="xs:long" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UTCCreateDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UTCUpdatedDate" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CacheNote" nillable="true" type="tns:CacheNote" />
  <xs:complexType name="ArrayOfMember">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Member" nillable="true" type="tns:Member" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMember" nillable="true" type="tns:ArrayOfMember" />
  <xs:complexType name="ArrayOfFavoritePointCacheInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FavoritePointCacheInfo" nillable="true" type="tns:FavoritePointCacheInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFavoritePointCacheInfo" nillable="true" type="tns:ArrayOfFavoritePointCacheInfo" />
  <xs:complexType name="FavoritePointCacheInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="CacheCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CacheTitle" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CacheType" nillable="true" type="tns:GeocacheType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FavoritePointCacheInfo" nillable="true" type="tns:FavoritePointCacheInfo" />
  <xs:complexType name="PointRadiusFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="DistanceInMeters" type="xs:long" />
          <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Tucson.Geocaching.WCF.API.Utilities" minOccurs="0" name="Point" nillable="true" type="q3:LatLngPoint" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PointRadiusFilter" nillable="true" type="tns:PointRadiusFilter" />
  <xs:complexType name="BaseGeocacheFilter">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="BaseGeocacheFilter" nillable="true" type="tns:BaseGeocacheFilter" />
  <xs:complexType name="NotFoundByUsersFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="UserNames" nillable="true" type="q4:ArrayOfstring" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="NotFoundByUsersFilter" nillable="true" type="tns:NotFoundByUsersFilter" />
  <xs:complexType name="NotHiddenByUsersFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="UserNames" nillable="true" type="q5:ArrayOfstring" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="NotHiddenByUsersFilter" nillable="true" type="tns:NotHiddenByUsersFilter" />
  <xs:complexType name="FieldNoteFindFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="UserName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FieldNoteFindFilter" nillable="true" type="tns:FieldNoteFindFilter" />
  <xs:complexType name="TerrainFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="MinTerrain" nillable="true" type="xs:double" />
          <xs:element minOccurs="0" name="MaxTerrain" nillable="true" type="xs:double" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TerrainFilter" nillable="true" type="tns:TerrainFilter" />
  <xs:complexType name="CachePublishedDateFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q6="http://www.geocaching.com/Geocaching.Live/data" minOccurs="0" name="Range" nillable="true" type="q6:DateRange" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CachePublishedDateFilter" nillable="true" type="tns:CachePublishedDateFilter" />
  <xs:complexType name="GeocacheNameFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="GeocacheName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GeocacheNameFilter" nillable="true" type="tns:GeocacheNameFilter" />
  <xs:complexType name="DifficultyFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="MinDifficulty" nillable="true" type="xs:double" />
          <xs:element minOccurs="0" name="MaxDifficulty" nillable="true" type="xs:double" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="DifficultyFilter" nillable="true" type="tns:DifficultyFilter" />
  <xs:complexType name="CacheCodeFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="CacheCodes" nillable="true" type="q7:ArrayOfstring" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CacheCodeFilter" nillable="true" type="tns:CacheCodeFilter" />
  <xs:complexType name="GeocacheTypeFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GeocacheTypeIds" nillable="true" type="q8:ArrayOflong" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GeocacheTypeFilter" nillable="true" type="tns:GeocacheTypeFilter" />
  <xs:complexType name="GeocacheContainerSizeFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GeocacheContainerSizeIds" nillable="true" type="q9:ArrayOflong" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GeocacheContainerSizeFilter" nillable="true" type="tns:GeocacheContainerSizeFilter" />
  <xs:complexType name="GeocacheExclusionsFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="Archived" nillable="true" type="xs:boolean" />
          <xs:element minOccurs="0" name="Available" nillable="true" type="xs:boolean" />
          <xs:element minOccurs="0" name="Premium" nillable="true" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GeocacheExclusionsFilter" nillable="true" type="tns:GeocacheExclusionsFilter" />
  <xs:complexType name="FavoritePointsFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="MinFavoritePoints" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="MaxFavoritePoints" nillable="true" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FavoritePointsFilter" nillable="true" type="tns:FavoritePointsFilter" />
  <xs:complexType name="HiddenByUsersFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="UserNames" nillable="true" type="q10:ArrayOfstring" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="HiddenByUsersFilter" nillable="true" type="tns:HiddenByUsersFilter" />
  <xs:complexType name="ViewportFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/Tucson.Geocaching.WCF.API.Utilities" minOccurs="0" name="BottomRight" nillable="true" type="q11:LatLngPoint" />
          <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/Tucson.Geocaching.WCF.API.Utilities" minOccurs="0" name="TopLeft" nillable="true" type="q12:LatLngPoint" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ViewportFilter" nillable="true" type="tns:ViewportFilter" />
  <xs:complexType name="BookmarksExcludeFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="BookmarkListIDs" nillable="true" type="q13:ArrayOfint" />
          <xs:element minOccurs="0" name="ExcludeIgnoreList" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="BookmarksExcludeFilter" nillable="true" type="tns:BookmarksExcludeFilter" />
  <xs:complexType name="TrackableCountFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseGeocacheFilter">
        <xs:sequence>
          <xs:element minOccurs="0" name="MinTrackables" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="MaxTrackables" nillable="true" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TrackableCountFilter" nillable="true" type="tns:TrackableCountFilter" />
  <xs:complexType name="ArrayOfUserCounts">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="UserCounts" nillable="true" type="tns:UserCounts" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUserCounts" nillable="true" type="tns:ArrayOfUserCounts" />
  <xs:complexType name="UserCounts">
    <xs:sequence>
      <xs:element minOccurs="0" name="CacheFinds" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="CacheHides" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="UserID" type="xs:long" />
      <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UserCounts" nillable="true" type="tns:UserCounts" />
  <xs:complexType name="UserProfileOptions">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChallengesData" type="xs:boolean" />
      <xs:element minOccurs="0" name="FavoritePointsData" type="xs:boolean" />
      <xs:element minOccurs="0" name="GeocacheData" type="xs:boolean" />
      <xs:element minOccurs="0" name="PublicProfileData" type="xs:boolean" />
      <xs:element minOccurs="0" name="SouvenirData" type="xs:boolean" />
      <xs:element minOccurs="0" name="TrackableData" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UserProfileOptions" nillable="true" type="tns:UserProfileOptions" />
  <xs:complexType name="UserProfile">
    <xs:sequence>
      <xs:element xmlns:q14="http://www.geocaching.com/Challenges.Live/data" minOccurs="0" name="Challenges" nillable="true" type="q14:ChallengeProfileData" />
      <xs:element minOccurs="0" name="FavoritePoints" nillable="true" type="tns:FavoritePointsUserSummary" />
      <xs:element minOccurs="0" name="Geocaches" nillable="true" type="tns:GeocacheProfileData" />
      <xs:element minOccurs="0" name="PublicProfile" nillable="true" type="tns:PublicProfileData" />
      <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/Souvenirs.Common.Model" minOccurs="0" name="Souvenirs" nillable="true" type="q15:ArrayOfSouvenir" />
      <xs:element minOccurs="0" name="Stats" nillable="true" type="tns:SiteStats" />
      <xs:element minOccurs="0" name="Trackables" nillable="true" type="tns:TrackableProfileData" />
      <xs:element minOccurs="0" name="User" nillable="true" type="tns:Member" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UserProfile" nillable="true" type="tns:UserProfile" />
  <xs:complexType name="FavoritePointsUserSummary">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountID" type="xs:int" />
      <xs:element minOccurs="0" name="PercentCompleteTowardsNextPoint" type="xs:int" />
      <xs:element minOccurs="0" name="PointsAvailable" type="xs:int" />
      <xs:element minOccurs="0" name="TotalPoints" type="xs:int" />
      <xs:element minOccurs="0" name="TotalUntilNextPoint" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FavoritePointsUserSummary" nillable="true" type="tns:FavoritePointsUserSummary" />
  <xs:complexType name="GeocacheProfileData">
    <xs:sequence>
      <xs:element minOccurs="0" name="BenchmarkFindTypes" nillable="true" type="tns:ArrayOfGeocacheType" />
      <xs:element minOccurs="0" name="GeocacheFindCount" type="xs:long" />
      <xs:element minOccurs="0" name="GeocacheFindTypes" nillable="true" type="tns:ArrayOfGeocacheType" />
      <xs:element minOccurs="0" name="GeocacheHideCount" type="xs:long" />
      <xs:element minOccurs="0" name="GeocacheHideTypes" nillable="true" type="tns:ArrayOfGeocacheType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GeocacheProfileData" nillable="true" type="tns:GeocacheProfileData" />
  <xs:complexType name="PublicProfileData">
    <xs:sequence>
      <xs:element minOccurs="0" name="ForumTitle" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastVisit" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MemberSince" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Occupation" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProfilePhoto" nillable="true" type="tns:ProfilePhotoData" />
      <xs:element minOccurs="0" name="ProfileText" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PublicProfileData" nillable="true" type="tns:PublicProfileData" />
  <xs:complexType name="ProfilePhotoData">
    <xs:sequence>
      <xs:element minOccurs="0" name="PhotoDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PhotoFilename" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PhotoName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PhotoUrl" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProfilePhotoData" nillable="true" type="tns:ProfilePhotoData" />
  <xs:complexType name="TrackableProfileData">
    <xs:sequence>
      <xs:element minOccurs="0" name="TrackableFindCount" type="xs:long" />
      <xs:element minOccurs="0" name="TrackableFindTypes" nillable="true" type="tns:ArrayOfTrackable" />
      <xs:element minOccurs="0" name="TrackableOwnedCount" type="xs:long" />
      <xs:element minOccurs="0" name="TrackableOwnedTypes" nillable="true" type="tns:ArrayOfTrackable" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TrackableProfileData" nillable="true" type="tns:TrackableProfileData" />
  <xs:complexType name="UploadImageData">
    <xs:sequence>
      <xs:element minOccurs="0" name="FileCaption" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FileDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FileName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="base64ImageData" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UploadImageData" nillable="true" type="tns:UploadImageData" />
  <xs:complexType name="DeviceData">
    <xs:sequence>
      <xs:element minOccurs="0" name="ApplicationCurrentMemoryUsage" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ApplicationPeakMemoryUsage" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ApplicationSoftwareVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceManufacturer" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceOperatingSystem" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceTotalMemoryInMB" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="DeviceUniqueId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MobileHardwareVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="WebBrowserVersion" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeviceData" nillable="true" type="tns:DeviceData" />
</xs:schema>